The present disclosure relates to an image processing apparatus and an image processing method, and more particularly to an image processing apparatus and an image processing method capable of reducing the number of accesses to an external memory which is necessary for an encoding or decoding process.
These days, an apparatus is becoming widespread which handles image information as digital information and, at this time, performs compression coding for an image by adopting a coding system for compression by an orthogonal transform such as a discrete cosine transform and a motion compensation with a use of redundancy unique to image information for the purpose of transmitting and accumulating the information highly efficiently. Examples of the coding system include an MPEG (moving picture experts group), H.264, MPEG-4 Part 10 (advanced video coding, hereinafter, referred to as H.264/AVC), and the like.
Currently, to further improve the coding efficiency as compared to H.264/AVC, JCTVC (joint collaboration team-video coding), which is a joint standardization organization of ITU-T and ISO/IEC, is pursuing standardization of the coding system called HEVC (high efficiency video coding).
In the draft of the HEVC at this point, as an in-loop filter, a deblocking filter and a sample adaptive offset (SAO) filter are adopted. The deblocking filter is an image quality improvement tool for removing a block noise caused by image compressing. The deblocking filter is used not only in the HEVC but also in the H.264/AVC, but there is a difference in the order of filter processes.
In the H.264/AVC, the filter process is performed for a corresponding vertical edge and a corresponding horizontal edge on a macro block basis in this order. On the other hand, in the HEVC, filtering is performed for a corresponding entire vertical edge on a picture basis, and then, filtering is performed for a corresponding entire horizontal edge.
For this reason, the process is not compatible with a process on a coding unit (hereinafter, referred to as CU) basis and on a coding tree unit (hereinafter, referred to as CTU) basis.
In reference software HM of the HEVC, a function is called so that that local decoding for one picture prior to a deblocking filter process is completed, then the filtering is performed for the vertical edge with respect to an entire picture, and then a function is called so that the filtering is performed for the horizontal edge of the entire picture.
It should be noted that in the in-loop filter, the process is performed in order of the deblocking filter and the sample adaptive offset filter. However, in the case where a process is performed on an LCU basis, which is the largest coding unit, on the horizontal edge of the LCU (hereinafter, also simply referred to as LCU edge), a line memory has to be provided for each. In total, a great number of line memories are necessary.
In view of the above, to reduce the great number of line memories, various proposals have been given. For example, “Line Memory Reduction for ALF Decoding” (Semih Esenlik, Matthias Narroschke, Thomas Wedi, JCTVC-E225, March 2011) (hereinafter, referred to as Non-patent Document 1) proposes that, for a process (tap reference pixel) of a sample adaptive offset filtering for a line held for the deblocking, a reconstruction pixel (that is, pixel prior to deblocking) is used.